--设置定时器
time = os.time();

--初始化
init("0",0);

mSleep(3000);
--来电暂停
luaExitIfCall(true);

--初始化日志
initLog("自动脚本1", 0)

--点击函数
function click(n,x,y)
	mSleep(500);
	touchDown(n,x,y);  
	mSleep(50);
	touchUp(n,x,y);
	mSleep(500);
end

--清理后台     
function cleanAll()
	
	--新方法
	closeApp("*",1);
	wLog("自动脚本1", "[DATE] 清理后台");
	
end

function timeOut()
	--如果一段时间内没有检测到，则判断为任务失败，结束脚本。
	if os.time()-time>240 then
		lua_restart();
	end
end

function movettoo(n,x,y,a,b)
	-- body
	touchDown(n, x, y); --在坐标 (150, 550)按下
	mSleep(80);
	touchMove(n, a, b); --移动到坐标 (150, 600)，注意一次滑动的坐标间隔不要太大，不宜超过50像素
	mSleep(80);
	touchUp(n, a, b);   --在坐标 (150, 600) 抬起
end

function clickColor(x,y,color)
	
	if isColor(x, y, color,90) then
		mSleep(500);
		click(1,x, y);
		mSleep(1500);
	end   
end 


--点击home键
function home()
	mSleep(500);
	--按下home键退出
	pressHomeKey(0);    --按下 Home 键
	mSleep(50);
	pressHomeKey(1);    --抬起 Home 键
	mSleep(500);
end


--颜色模糊判断
function isColor(x,y,c,s)   --封装函数，函数名 isColor
    local fl,abs = math.floor,math.abs
    s = fl(0xff*(100-s)*0.01)
    local r,g,b = fl(c/0x10000),fl(c%0x10000/0x100),fl(c%0x100)
    local rr,gg,bb = getColorRGB(x,y)
    if abs(r-rr)<s and abs(g-gg)<s and abs(b-bb)<s then
        return true
    end
end

--进入下一条记录
function nextMemory()
	--初始化
	init("0",0);
	mSleep(1000);
	
	--进入NZT进行手机一键新机，重复打开4遍，防止闪退，闪退率高
	r = runApp("NZT"); 
	mSleep(2000)
	r = runApp("NZT");
	mSleep(2000)
	r = runApp("NZT");
	mSleep(2000)
	r = runApp("NZT"); 
	mSleep(2000);
	if r ~= 0 then
		lua_restart();
	end
	wLog("自动脚本1","[DATE] 进入NZT软件");
	
	--点一下返回按钮
	click(1,39,82);
	mSleep(2000);
	
	--点击参数记录
	click(1,145,958);
	
	mSleep(3000); 
	--点击下一条记录
	click(1,575,85);
	
	mSleep(2000);
	while (true) do
		wLog("自动流程1","[DATE] 成功点击下一条记录按钮进入while判断");
		--如果出现错误，点击确定
		warningAll();
		if isColor(321,545,0x434343,90) then
			mSleep(2000);
		elseif isColor(321,545,0xffffff,90) then
			break;  
		end
		
		--超过3分钟自动重新开始
		timeOut();
	end
	
	mSleep(1000);
	--按下home键退出
	home();
	mSleep(1000);

	
	wLog("自动流程1", "[DATE] 成功进入下一条记录")
end


function warningAll()
	if isColor(327,671,0x007aff,90) then
			wLog("自动脚本1", "[DATE] 这是警告四判断")
			mSleep(2000);
			click(1,327,671);
			mSleep(2000);
			click(1,580,690);
	elseif isColor(340,664,0x007aff,90) then
			wLog("自动脚本1", "[DATE] 这是警告五判断")
			mSleep(2000);
			click(1,340,664);
			mSleep(2000);
	end
end


function play()

	mSleep(2000);
	--开始玩第一个游戏
	r = runApp("com.linecorp.LGSDG");    --启动应用 
	
	----------------------------------------------------------------------------------------------
	--初始化为横屏模式
	init("0",1);
	mSleep(4000);
	----------------------------------------------------------------------------------------------
	
	if r == 0 then
		
		--进入游戏循环点
		while (true) do
			--点击日本语
			clickColor(417,  251, 0x478ca7);
			
			--点击ok
			clickColor(583,  509, 0x138d51)
			
			--如果一段时间内没有检测到，则判断为任务失败，结束脚本。
			timeOut();
			
			--发生错误，返回标题页面
			clickColor(654,  453, 0x008744);
			
			--网络状态不佳，重试
			clickColor(796,  449, 0x008945);
			
			timeOut();
			
			--第一次进入时点击灰色按钮
			clickColor(581,  555, 0x20333c);
			
			--大的同意协议
			clickColor(848,  582, 0x4bc90d);
			
			timeOut();
			
			--弹框一
			clickColor(610,  394, 0x7dc7e1);
			
			--弹框二 
			clickColor(715,  489, 0xa1d8dc);
			
			timeOut();
			
			--在一段时间后跳出此循环，进入下一个游戏
			if os.time()-time>130 then
				break;
			end
			
			mSleep(2000);
		end
		
	else
		dialog("启动失败",3);
		--游戏启动失败，结束脚本
		--lua_restart();
		--注意固定时间任务不能重新运行，只能循环等待
		
--		while (true) do
--			timeOut();
--		end
		
	end
	
	
	
	--开始玩第二个游戏
	mSleep(1000);
	home();
	mSleep(3000);
	r = runApp("jp.co.atm.vcon.jp");    --启动应用 
	
	----------------------------------------------------------------------------------------------
	--初始化为横屏模式
	init("0",1);
	mSleep(4000);
	----------------------------------------------------------------------------------------------
	
	if r == 0 then
		
		--进入游戏循环点
		while (true) do
			
			--点击ok开始
			clickColor(583,  427, 0x10aae9);
			
			--有三个人，点击ok
			clickColor(600,  540, 0x18badc);
			
			--如果一段时间内没有检测到，则判断为任务失败，结束脚本。
			timeOut();
			
			--在左上角循环点击
			click(1 ,25, 110);
			
			--点击同意协议
			clickColor(671,  503, 0x0ca8dd);
			
			timeOut();
			
			--点击newgame
			clickColor(737,  425, 0x003999);
			
			mSleep(2000);
		end
		
	else
		dialog("启动失败",3);
		--游戏启动失败，结束脚本
		--lua_restart();
		--注意固定时间任务不能重新运行，只能循环等待
		
		while (true) do
			timeOut();
		end
		
	end

end


function main()
	
	home();
	mSleep(1000);
	
	cleanAll();
	mSleep(1000);
	
	--关闭并打开vpn
	setVPNEnable(false);
	mSleep(2000);
	
	--进入下一条记录
	nextMemory();
	mSleep(2000);
	
	setVPNEnable(true);
	mSleep(2000);
	
	--开始玩游戏
	play();
	
end


main();